ποΈGitΠ―ΡΠ°ποΈ
docs/ht-rHT/user/messages-and-channels.md renovate/spotless (0926a27d) Text, 22.81 KB
title: Messages & Channels
parent: User Guide
nav_order: 3
last_updated: 2026-08-30
description: Send and receive messages, manage channels, configure encryption, search conversations, and use quick chat, reactions, and message actions.
aliases:
β’ channels
β’ direct-messages
β’ messaging
β’ conversations
Messages & Channels
Meshtastic supports two communication modes: channel broadcasts and direct messages.
Channels
Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.
Default Channel
Every Meshtastic radio comes with a default LongFast channel. It is encrypted with a well-known default key, so anyone running Meshtastic on the same preset can read it.
Channel Security
Each channel carries a lock icon that shows how well it is protected. Tap the icon to see the same explanation inside the app.
ββββββββββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Icon β What it means β
ββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Green closed lock β The channel is securely encrypted, with either a 128-bit oβ¦ β
β Yellow open lock β The channel is not securely encrypted β it uses no key at β¦ β
β Red open lock β Not securely encrypted, and the channel carries precise loβ¦ β
β Red open lock with a warning badge β Not securely encrypted, carrying precise location data, anβ¦ β
ββββββββββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Key length alone does not change the icon: a 128-bit key and a 256-bit key both show the green lock.
β π Security: Always configure a unique PSK for private communications. The default channel is
β intentionally open so new users can discover the mesh β but you should create a separate
β encrypted channel for anything sensitive.
Adding a Channel
1. Connect to your radio. The Channels row stays grayed out until the app has a connection β see Connections.
2. Go to Settings, then tap Channels under Configuration.
3. Tap the + button to add a channel. The editor opens on the new entry.
4. Set the channel name and the PSK, and choose whether the channel uses MQTT uplink and downlink. Naming a new channel generates a fresh 256-bit key for you; the refresh icon beside PSK generates another one.
5. Tap Save to close the editor. The change is still only on your phone.
6. Tap Send at the bottom of the channel list to write the changes to the radio. Cancel, or leaving the screen without tapping Send, throws them away.
7. Optional: share the channel URL or QR code with the people who need access.
Tapping an existing channel opens the same editor, where you can change the name, the PSK, MQTT uplink and downlink, and position precision. Every edit on this screen β adding, editing, deleting, or dragging a channel into a new order β waits on Send the same way.
Direct Messages
Direct messages (DMs) go to one specific node. When both radios hold each other's public keys, your radio encrypts the message to that node's public key, so no one else on the mesh can read it β not even nodes that share your channel.
Your radio must already hold the other node's public key before it can send a DM. Keys travel inside node info, which nodes broadcast periodically, so the key usually arrives on its own once you have heard from that node. Until it does, a radio that has its own key pair β the default β refuses the send rather than falling back to channel encryption, and the message shows Recipient key unavailable.
A public-key conversation carries a key icon in its top bar. A green closed lock means the direct message is protected by public-key encryption; a red key-off icon means the node's public key changed and no longer matches the one your radio stored. Tap the icon for the details.
Sending a Direct Message
1. Open the Messages tab.
2. Select a conversation, or tap a node in the node list.
3. Type your message and tap Send.
Managing the Conversation List
The Messages tab lists your conversations. Each row shows what you need at a glance, and you
can act on it directly:
β’ Unsent drafts survive. Type into a conversation and leave without sending, and the text is
still there when you come back. The row shows it as T383838Draft: β¦ in place of the last message β
an unsent draft is the thing the row is waiting on you for.
β’ Unread badge. A count sits on the row until you open the conversation.
β’ Swipe right to mute (swipe again to unmute) and swipe left to delete. Deleting asks
first; muting shows a snackbar with Undo.
β’ Touch & hold to select one or more conversations, then use the action bar to Pin,
Mark unread, mute or delete them together. Pinned conversations carry a pin marker and rise
to the top of their own section.
β’ The list is split into Channels and Direct Messages, each with a collapsible header and each
sorted independently β so a pinned direct message rises within its own section, not above the
Channels one.
Conversation Bubbles
On Android 11 and later, a message notification can be opened as a floating bubble that
stays on top of whatever else you are doing. Tap the bubble icon on the notification to promote
a conversation; Android remembers the choice per conversation, and the system Bubbles settings
control whether they are offered at all.
Message States
A status label appears under your own outgoing messages only (incoming messages from others show no status label):
βββββββββββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β State β Meaning β
βββββββββββββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Sendingβ¦ β Queued or already handed to the radio, not yet resolved eβ¦ β
β Delivered to recipient β The strongest confirmation for a direct message β an acknβ¦ β
β Delivered to mesh β For a channel broadcast, the message reached the mesh (brβ¦ β
β Relayed, not confirmed by recipient β For a direct message, shown in a warning color β the messβ¦ β
β Routing via SF++ chainβ¦ β Being routed/buffered by the Store & Forward Plus Plus chβ¦ β
β Confirmed on SF++ chain β Confirmed delivered via the SF++ chain β
β ErΓ¨ β Delivery failed β tap the status for the specific reason β¦ β
βββββββββββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Delivery Errors
When a message fails to deliver, the error indicator shows what went wrong:
ββββββββββββββββββββββββββββββββββββ¬ββββββ¬ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β ErΓ¨ β Meβ¦ β What to Do β
ββββββββββββββββββββββββββββββββββββΌββββββΌββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Pa gen wout β Noβ¦ β The recipient may be offline or out of mesh range. Tryβ¦ β
β No radio interface β Noβ¦ β Check that your radio is connected and available. β
β Failed to deliver to mesh β Reβ¦ β Move closer, improve signal, or wait for conditions toβ¦ β
β Rate limited β Thβ¦ β Wait before sending again. β
β Not authorized β Thβ¦ β Check you have the right channel and keys for that nodβ¦ β
β Recipient needs your key β Diβ¦ β Exchange node info β the key travels with it. Common oβ¦ β
β Recipient key unavailable β Yoβ¦ β Wait for their node info to arrive, or ask them to broβ¦ β
β Could not send encrypted message β Enβ¦ β Verify both nodes have exchanged keys and are on compaβ¦ β
β Admin session expired β A β¦ β Reopen the remote node's settings to start a new sessiβ¦ β
β Admin key not authorized β Thβ¦ β Verify the admin key matches on both nodes. β
β Channel/key mismatch β Deβ¦ β Verify both nodes share the same channel and PSK. β
β Message is too large to send β Meβ¦ β Shorten the message and try again. β
β No app response β Apβ¦ β Retry or check the destination app or module state. β
β Duty cycle limit β Reβ¦ β Wait for the duty cycle window to reset. β
β Invalid request β Maβ¦ β Retry after updating or restarting the app if this perβ¦ β
ββββββββββββββββββββββββββββββββββββ΄ββββββ΄ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β π‘ Tip: Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh
β will retry. For persistent No route errors, check that intermediate Router nodes are online.
Message Features
Quick Chat
Pre-configured messages for rapid communication, useful when typing is impractical (gloves, small screen, urgent):
β’ The quick chat row is hidden until you turn it on. Open a conversation, tap the overflow menu in the top bar, then tap Show quick chat menu. Hide quick chat menu puts the row away again.
β’ The row carries one built-in entry, the π alert bell. It appends an alert message that includes a bell character, which clients that support it flag as an alert. Every other button on the row is one you created.
β’ Add, edit, reorder, and delete your own entries from the same overflow menu β tap Quick chat options.
Each quick chat entry has a Name β the button label, capped at five characters, forced to uppercase, and filled in for you from the message text β and the Message it carries. A switch decides what tapping the button does. A new entry starts on Instantly send, so a tap sends the message straight away; turn the switch off and the label changes to Append to message, which puts the text in the input field for you to edit first.
Searching Messages
You can search the full history of any conversation directly from the chat screen:
1. Open a conversation (a channel or a direct message).
2. Tap the search icon in the top bar.
3. Type into the Search messages⦠field. The search runs as you type, across all stored messages in that conversation.
4. Use the N / M result counter and the previous / next arrows to jump between matches, which are highlighted in the conversation.
β π‘ Tip: Search is full-text and stays within the conversation you opened it from β it doesn't
β search across other channels or contacts. It matches against the messages already stored on your
β device, so it works fully offline.
Message Bubbles
Messages appear as chat bubbles β sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.
Text Formatting
Messages support lightweight inline Markdown. Received messages render the styling with the syntax characters removed:
βββββββββββββββββ¬βββββββββββββ¬βββββββββββββββββββ
β Type β Syntax β Renders as β
βββββββββββββββββΌβββββββββββββΌβββββββββββββββββββ€
β Bold β T383838**bold** β bold β
β Italic β T383838*italic* β italic β
β Strikethrough β T383838~~strike~~ β ~~strike~~ β
β Inline code β BT383838 codeT383838 β monospace T383838code β
β Link β T383838